import java.util.Arrays;

public class reverseList {
    /**
     * 反转链表
     */
    public class ListNode{
        ListNode(){}
        int val;
        ListNode next;
        ListNode(int val){this.val=val;}
        ListNode(int val,ListNode next){
            this.val=val;
            this.next=next;
        }
    }

    public static ListNode method(ListNode head){
        ListNode pre=null;
        ListNode cur=head;
        while(cur!=null){
            ListNode next=cur.next;
            cur.next=pre;
            pre=cur;
            cur=next;
        }
        return pre;
    }

    public static void main(String[] args){
        reverseList r=new reverseList();

        // 创建链表
        ListNode head=r.new ListNode(1);
        head.next=r.new ListNode(2);
        head.next.next=r.new ListNode(3);
        head.next.next.next=r.new ListNode(4);

        ListNode res=method(head);
        int[]a =new int[4];
        for(int i=0;i<4;i++) {
            if (res != null) {
                a[i] = res.val;
                res = res.next;
            }
        }
        System.out.println(Arrays.toString(a));
    }
}
